#pragma once

class GameSettings;
class MenuBase;

class MenuManager
{
public:
	MenuManager();
	~MenuManager();

	void Init(GameSettings* i_gs);

	void Update(const float i_elapsedTime);

	void Draw(const float i_elapsedTime);
	
	void SetNextMenu(MenuBase* const i_nextMenu);

	void GoBack();

private:
	MenuManager(const MenuManager&);
	MenuManager& operator=(const MenuManager&);

	struct MenuManagerImpl;
	MenuManagerImpl* m_impl;
};